package cn.yeziji.forum.dao.intf;

import cn.org.atool.fluent.mybatis.base.IBaseDao;
import cn.yeziji.forum.common.ForumPageResult;
import cn.yeziji.forum.dto.question.QuestionDTO;
import cn.yeziji.forum.dto.question.QuestionPagingDTO;
import cn.yeziji.forum.entity.ForumQuestionEntity;
import cn.yeziji.forum.vo.question.QuestionVO;

import java.util.List;

/**
 * 提问问题业务层
 *
 * @author gzkemays
 * @since 2022/11/12 4:47 PM
 */
public interface ForumQuestionDao extends IBaseDao<ForumQuestionEntity> {
  /** 发出提问 */
  void submit(QuestionDTO dto);
  /** 采纳答案 */
  void adopted(QuestionDTO dto);
  /** 根据标题或内容进行分页 */
  ForumPageResult<QuestionVO> list(QuestionPagingDTO pagingDTO);
  /** 根据 id 获取文章 */
  QuestionVO getQuestionById(Integer id);

  /**
   * 获取用户 7 天内的问题
   *
   * @param userId 用户 id
   * @return 问题列表
   */
  List<ForumQuestionEntity> getUser7DaysQuestions(Integer userId);
}
